package com.xuexiang.xui_lib.component.imageview.imageload;

import ohos.agp.components.Image;
import ohos.app.Context;
import ohos.media.image.PixelMap;

/**
 * 图片加载抽象层接口
 *
 * @since 2021-03-27
 */
public interface ImageLoad {

    /**
     * 加载图片
     *
     * @param image Image控件
     * @param uri 图片Uri
     * @param listener 回调
     */
    void loadImage(Image image, Object uri, LoadListener listener);

    /**
     * 加载轮播图片
     *
     * @param context 上下文
     * @param path 图片路径
     * @param radiusImage 是否加载圆角图片
     * @return Image
     */
    Image createImageView(Context context, String path, boolean radiusImage);


    /**
     * 图片加载状态监听
     *
     * @since 2021-03-27
     */
    interface LoadListener {

        /**
         * 加载成功
         */
        void onLoadSuccess();

        /**
         * 加载失败
         *
         * @param error
         */
        void onLoadFailed(Throwable error);

    }

}
